package book;

import java.net.ConnectException;
import java.sql.*;

/**
 * @Author admin
 * @Date 2019/4/26 8:14
 * JDBC操作的工具类
 * 抽取出增删改查操作的一些重复代码，1.获取数据库连接2.关闭
 */
public class JDBCUtils {
    /*static 静态的，修饰变量、方法。不需要创建对象，
    直接通过类名调用修饰代码块：表示这段代码随着类的加载而加载，且只执行一次
    获取数据库连接的代码块放在static中，让其执行一次
    * */

    private static Connection conn=null;
    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/zhm";
            String user="root";
            String password="123456";
            conn= DriverManager.getConnection(url,user,password);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static Connection getConnection(){
        return conn;
    }



    public static void close(Connection conn, PreparedStatement pstmt){
       if (conn!=null){
           try {
               conn.close();
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
       if (pstmt!=null){
           try {
               pstmt.close();
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
    }

    public  static void close(Connection conn, PreparedStatement pstmt, ResultSet rs){
      close(conn,pstmt);
        if (rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}
